package com.ruoyi.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 车辆进出场记录(下级平台推送)对象 parking_record_in_out
 * 
 * @author ruoyi
 * @date 2025-11-21
 */
public class ParkingRecordInOut extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增主键ID */
    private Long id;

    /** 下级平台平台编码 */
    private String platformId;

    /** 停车场车辆停车 ID */
    @Excel(name = "停车场车辆停车 ID")
    private String recordId;

    /** 停车场编码 */
    private String parkingLotCode;

    /** 停车场名称 */
    @Excel(name = "停车场名称")
    private String parkingLotName;

    /** 车主姓名 */
    private String ownerName;

    /** 车主电话 */
    private String ownerPhone;

    /** 车主类型 */
    private Integer ownerType;

    /** 车牌颜色 */
    private Integer carNumColor;

    /** 车辆颜色 */
    private Integer carColor;

    /** 车辆列表类型 */
    private Integer carListType;

    /** 车牌号码 */
    @Excel(name = "车牌号码")
    private String carNum;

    /** 车辆状态 */
    private Integer carStatus;

    /** 车辆类型 */
    private Integer carType;

    /** 进场记录 ID */
    private String inUniqueId;

    /** 入场抓拍标识 */
    private String inCaptureSeq;

    /** 入场卡口相机通道编码 */
    private String enterItcDevChnCode;

    /** 入场卡口相机通道名称 */
    private String enterItcDevChnName;

    /** 车辆入场时间 (UTC时间) */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "车辆入场时间 (UTC时间)", width = 30, dateFormat = "yyyy-MM-dd")
    private Date carInTime;

    /** 入场通道号 */
    private String enterLaneCode;

    /** 入场大图图片路径 */
    private String inPicPath;

    /** 入场大图图片 BASE64 */
    private String inPicData;

    /** 进场监控类型 */
    private Integer inMonitorType;

    /** 进场操作员姓名 */
    private String inOperatorName;

    /** 出场场记录 ID */
    private String outUniqueId;

    /** 出场抓拍标识 */
    private String outCaptureSeq;

    /** 出场卡口相机通道编码 */
    private String exitItcDevChnCode;

    /** 出场卡口相机通道名称 */
    private String exitItcDevChnName;

    /** 车辆出场时间 (UTC时间) */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "车辆出场时间 (UTC时间)", width = 30, dateFormat = "yyyy-MM-dd")
    private Date carOutTime;

    /** 出场通道号 */
    private String exitLaneCode;

    /** 出场大图图片路径 */
    private String outPicPath;

    /** 出场大图图片 BASE64 */
    private String outPicData;

    /** 出场监控类型 (0:未知,1:视频监控,2:图片抓拍等) */
    private Integer outMonitorType;

    /** 消费金额 */
    @Excel(name = "消费金额")
    private BigDecimal consumemMoney;

    /** 已收金额 */
    @Excel(name = "已收金额")
    private BigDecimal feeAmount;

    /** 未付金额 */
    @Excel(name = "未付金额")
    private BigDecimal notPaidAmount;

    /** 优惠金额 */
    @Excel(name = "优惠金额")
    private BigDecimal couponAmount;

    /** 出场场操作员姓名 */
    private String outOperatorName;

    /** 部门ID */
    private Long deptId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setPlatformId(String platformId) 
    {
        this.platformId = platformId;
    }

    public String getPlatformId() 
    {
        return platformId;
    }
    public void setRecordId(String recordId) 
    {
        this.recordId = recordId;
    }

    public String getRecordId() 
    {
        return recordId;
    }
    public void setParkingLotCode(String parkingLotCode) 
    {
        this.parkingLotCode = parkingLotCode;
    }

    public String getParkingLotCode() 
    {
        return parkingLotCode;
    }
    public void setParkingLotName(String parkingLotName) 
    {
        this.parkingLotName = parkingLotName;
    }

    public String getParkingLotName() 
    {
        return parkingLotName;
    }
    public void setOwnerName(String ownerName) 
    {
        this.ownerName = ownerName;
    }

    public String getOwnerName() 
    {
        return ownerName;
    }
    public void setOwnerPhone(String ownerPhone) 
    {
        this.ownerPhone = ownerPhone;
    }

    public String getOwnerPhone() 
    {
        return ownerPhone;
    }
    public void setOwnerType(Integer ownerType) 
    {
        this.ownerType = ownerType;
    }

    public Integer getOwnerType() 
    {
        return ownerType;
    }
    public void setCarNumColor(Integer carNumColor) 
    {
        this.carNumColor = carNumColor;
    }

    public Integer getCarNumColor() 
    {
        return carNumColor;
    }
    public void setCarColor(Integer carColor) 
    {
        this.carColor = carColor;
    }

    public Integer getCarColor() 
    {
        return carColor;
    }
    public void setCarListType(Integer carListType) 
    {
        this.carListType = carListType;
    }

    public Integer getCarListType() 
    {
        return carListType;
    }
    public void setCarNum(String carNum) 
    {
        this.carNum = carNum;
    }

    public String getCarNum() 
    {
        return carNum;
    }
    public void setCarStatus(Integer carStatus) 
    {
        this.carStatus = carStatus;
    }

    public Integer getCarStatus() 
    {
        return carStatus;
    }
    public void setCarType(Integer carType) 
    {
        this.carType = carType;
    }

    public Integer getCarType() 
    {
        return carType;
    }
    public void setInUniqueId(String inUniqueId) 
    {
        this.inUniqueId = inUniqueId;
    }

    public String getInUniqueId() 
    {
        return inUniqueId;
    }
    public void setInCaptureSeq(String inCaptureSeq) 
    {
        this.inCaptureSeq = inCaptureSeq;
    }

    public String getInCaptureSeq() 
    {
        return inCaptureSeq;
    }
    public void setEnterItcDevChnCode(String enterItcDevChnCode) 
    {
        this.enterItcDevChnCode = enterItcDevChnCode;
    }

    public String getEnterItcDevChnCode() 
    {
        return enterItcDevChnCode;
    }
    public void setEnterItcDevChnName(String enterItcDevChnName) 
    {
        this.enterItcDevChnName = enterItcDevChnName;
    }

    public String getEnterItcDevChnName() 
    {
        return enterItcDevChnName;
    }
    public void setCarInTime(Date carInTime) 
    {
        this.carInTime = carInTime;
    }

    public Date getCarInTime() 
    {
        return carInTime;
    }
    public void setEnterLaneCode(String enterLaneCode) 
    {
        this.enterLaneCode = enterLaneCode;
    }

    public String getEnterLaneCode() 
    {
        return enterLaneCode;
    }
    public void setInPicPath(String inPicPath) 
    {
        this.inPicPath = inPicPath;
    }

    public String getInPicPath() 
    {
        return inPicPath;
    }
    public void setInPicData(String inPicData) 
    {
        this.inPicData = inPicData;
    }

    public String getInPicData() 
    {
        return inPicData;
    }
    public void setInMonitorType(Integer inMonitorType) 
    {
        this.inMonitorType = inMonitorType;
    }

    public Integer getInMonitorType() 
    {
        return inMonitorType;
    }
    public void setInOperatorName(String inOperatorName) 
    {
        this.inOperatorName = inOperatorName;
    }

    public String getInOperatorName() 
    {
        return inOperatorName;
    }
    public void setOutUniqueId(String outUniqueId) 
    {
        this.outUniqueId = outUniqueId;
    }

    public String getOutUniqueId() 
    {
        return outUniqueId;
    }
    public void setOutCaptureSeq(String outCaptureSeq) 
    {
        this.outCaptureSeq = outCaptureSeq;
    }

    public String getOutCaptureSeq() 
    {
        return outCaptureSeq;
    }
    public void setExitItcDevChnCode(String exitItcDevChnCode) 
    {
        this.exitItcDevChnCode = exitItcDevChnCode;
    }

    public String getExitItcDevChnCode() 
    {
        return exitItcDevChnCode;
    }
    public void setExitItcDevChnName(String exitItcDevChnName) 
    {
        this.exitItcDevChnName = exitItcDevChnName;
    }

    public String getExitItcDevChnName() 
    {
        return exitItcDevChnName;
    }
    public void setCarOutTime(Date carOutTime) 
    {
        this.carOutTime = carOutTime;
    }

    public Date getCarOutTime() 
    {
        return carOutTime;
    }
    public void setExitLaneCode(String exitLaneCode) 
    {
        this.exitLaneCode = exitLaneCode;
    }

    public String getExitLaneCode() 
    {
        return exitLaneCode;
    }
    public void setOutPicPath(String outPicPath) 
    {
        this.outPicPath = outPicPath;
    }

    public String getOutPicPath() 
    {
        return outPicPath;
    }
    public void setOutPicData(String outPicData) 
    {
        this.outPicData = outPicData;
    }

    public String getOutPicData() 
    {
        return outPicData;
    }
    public void setOutMonitorType(Integer outMonitorType) 
    {
        this.outMonitorType = outMonitorType;
    }

    public Integer getOutMonitorType() 
    {
        return outMonitorType;
    }
    public void setConsumemMoney(BigDecimal consumemMoney) 
    {
        this.consumemMoney = consumemMoney;
    }

    public BigDecimal getConsumemMoney() 
    {
        return consumemMoney;
    }
    public void setFeeAmount(BigDecimal feeAmount) 
    {
        this.feeAmount = feeAmount;
    }

    public BigDecimal getFeeAmount() 
    {
        return feeAmount;
    }
    public void setNotPaidAmount(BigDecimal notPaidAmount) 
    {
        this.notPaidAmount = notPaidAmount;
    }

    public BigDecimal getNotPaidAmount() 
    {
        return notPaidAmount;
    }
    public void setCouponAmount(BigDecimal couponAmount) 
    {
        this.couponAmount = couponAmount;
    }

    public BigDecimal getCouponAmount() 
    {
        return couponAmount;
    }
    public void setOutOperatorName(String outOperatorName) 
    {
        this.outOperatorName = outOperatorName;
    }

    public String getOutOperatorName() 
    {
        return outOperatorName;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("platformId", getPlatformId())
            .append("recordId", getRecordId())
            .append("parkingLotCode", getParkingLotCode())
            .append("parkingLotName", getParkingLotName())
            .append("ownerName", getOwnerName())
            .append("ownerPhone", getOwnerPhone())
            .append("ownerType", getOwnerType())
            .append("carNumColor", getCarNumColor())
            .append("carColor", getCarColor())
            .append("carListType", getCarListType())
            .append("carNum", getCarNum())
            .append("carStatus", getCarStatus())
            .append("carType", getCarType())
            .append("inUniqueId", getInUniqueId())
            .append("inCaptureSeq", getInCaptureSeq())
            .append("enterItcDevChnCode", getEnterItcDevChnCode())
            .append("enterItcDevChnName", getEnterItcDevChnName())
            .append("carInTime", getCarInTime())
            .append("enterLaneCode", getEnterLaneCode())
            .append("inPicPath", getInPicPath())
            .append("inPicData", getInPicData())
            .append("inMonitorType", getInMonitorType())
            .append("inOperatorName", getInOperatorName())
            .append("outUniqueId", getOutUniqueId())
            .append("outCaptureSeq", getOutCaptureSeq())
            .append("exitItcDevChnCode", getExitItcDevChnCode())
            .append("exitItcDevChnName", getExitItcDevChnName())
            .append("carOutTime", getCarOutTime())
            .append("exitLaneCode", getExitLaneCode())
            .append("outPicPath", getOutPicPath())
            .append("outPicData", getOutPicData())
            .append("outMonitorType", getOutMonitorType())
            .append("consumemMoney", getConsumemMoney())
            .append("feeAmount", getFeeAmount())
            .append("notPaidAmount", getNotPaidAmount())
            .append("couponAmount", getCouponAmount())
            .append("outOperatorName", getOutOperatorName())
            .append("deptId", getDeptId())
            .toString();
    }
}
